The invention relates to techniques that transfer information about documents between machines.
Flynn et al., EP-A-691 619 (xe2x80x9cFlynnxe2x80x9d), describe a system for accessing and distributing electronic documents. The system can include any number of workstations, file servers, printers, and other fixed devices such as copiers, fax machines, and multifunction devices, all coupled in a network. The system can also include a number of portable devices, such as handheld or wristwatch computers, that can be carried by users and coupled to the network by infrared (IR) link. Each portable device can emulate its user""s personal satchel for documents: The device can be programmed to receive, transmit, and store document references or tokens, such as Web URLs, each of which is associated with an electronic document stored in a database on the network. A document can be distributed from one user""s portable device to another""s by transmitting the document""s URL, and a document can similarly be sent to a fixed device such as a printer by beaming the document""s URL to an IR transceiver associated with the device.
Andreoli, J.-M., Borghoff, U. M., Pareschi, R., and Schlichter, J. H., xe2x80x9cConstraint Agents for the Information Agexe2x80x9d, Journal of Universal Computer Science, Vol. 1, No. 12, December 1995, pp. 762-789, describe constraint-based knowledge brokers which are concurrent agents that use signed feature constraints to represent partially specified information and can flexibly cooperate in the management of distributed knowledge.
Andreoli et al. disclose an operation named xe2x80x9cscope-splittingxe2x80x9d, which relies on the use of negation. Under scope-splitting, a broker can split its scope, creating two brokers. In contrast with a basic feature constraint (BFC), which cannot include negation or disjunction, a signed feature constraint (SFC) is composed of a positive part and a list of negative parts, both of which are basic feature constraints. If the scope of a broker is represented by an SFC and the scope is split by a BFC, the two resulting split scopes can both be represented by SFCs. In an example, a database of documents by non-American authors about art can be split by a constraint xe2x80x9cbooks written after 1950xe2x80x9d into art books written after 1950 but not by an American author and art documents not authored by an American but not books subsequent to 1950.
Andreoli et al. also disclose techniques for solving SFCs. Constraint satisfaction over BFCs is defined by conditional rewrite rules, as is conventional. Given an SFC, its positive component is first normalized by the algorithm for BFCs. If the result is a contradiction, the SFC is unsatisfiable. But otherwise, the normalized positive component is inserted into each of the negative components, which are then normalized by the algorithm for BFCs. If a resulting negative component has a contradictory normal form, it is eliminated, but if it has a tautological normal form, the SFC is unsatisfiable. The SFC is thus satisfiable if and only if its normal form is not reduced to a contradiction. Andreoli et al. disclose an implementation in which the SFC solver is realized as a list-transforming algorithm with additional checks for constraint satisfaction.
Andreoli et al. also disclose that a set of initial brokers can be provided, each with predefined scope. In processing requests, new brokers and agent specialists are cloned to handle a subset of their parent scope. In responding to follow-on requests, answers from existing specialists can be used, and the scope splitting mechanism avoids redundant work. Complex requests require interactions with many other agents and information stored in the network. In large information networks, such as the World Wide Web (xe2x80x9cWWWxe2x80x9d or xe2x80x9cthe Webxe2x80x9d), the reuse of generated and already collected information is especially important.
The invention addresses problems that arise in transferring information relating to documents between machines, especially between portable computing devices that communicate through infrared links or other low bandwidth channels.
While the use of portable computing devices is becoming more widespread, storage capacity limitations make it impossible for such a device to store the electronic files for all the documents that a typical user may wish to access. Furthermore, the transfer of bulk documents between such devices or between one such device and a desktop computer or other non-portable computing device may be time consuming or difficult for the typical user. Meanwhile, the number of electronic document repositories is growing and document transfer via the Internet is expanding.
Although the system described by Flynn, above, addresses this situation, the Flynn techniques are problematic in several ways.
One problem is that Flynn""s system stores and distributes references such as WWW URLs only for individual documents: Each document reference points to or links to a particular document. Flynn""s system does not provide references for groups of documents.
Another problem with the Flynn techniques is how to keep track of a continually changing electronic document repository. Document descriptions can change, through updated author lists, updated dates, updated keywords, and so forth, requiring dynamic adjustments. In the Flynn system, however, a user may carry a URL for document A written by author B on the subject of topic C. Unknown to the user, updated document Axe2x80x2 by author B may exist, written two years after A and on the same topic C. Or there may be a further document Axe2x80x3 by author B and on a subject closely related to topic C, perhaps having a keyword in common. Even though Axe2x80x2 and Axe2x80x3 would be of use to the user, the user does not have references to them and could only obtain references through a further searching or browsing exercise to find and retrieve their URLs. The user is likely to continue working oblivious to the existence of Axe2x80x2 and Axe2x80x3.
These and similar problems with conventional techniques for transferring document-related information between machines are referred to herein as xe2x80x9cdocument transfer problemsxe2x80x9d.
The invention alleviates document transfer problems by providing techniques that transfer constraint. descriptors for documents. A constraint descriptor includes information about a set of one or more constraints that documents could satisfy. Instead of referring or pointing to a single document or to a static set of documents, a constraint descriptor implicitly refers to a set of documents that satisfy the set of constraints. The constraint descriptor can therefore be used to obtain documents in this set, even though the set may be dynamic in the sense that it changes as features of documents change.
The new techniques avoid the lack of dynamicity of existing systems and enable users to hold pointers to a set of documents that may be dynamically changed.
The new techniques can be implemented in methods for transferring information about documents between machines. In general, the methods can involve a transfer of a constraint descriptor from a first machine to a second machine.
A first method implementing the new techniques can operate the first machine to obtain a constraint descriptor that includes information about a set of constraints that documents can satisfy. The first method can then operate the first machine to transfer the constraint descriptor to a second machine that is capable of using it to access documents that satisfy the set of constraints.
In the first method, the first machine can include user interface circuitry for receiving user signals. In obtaining the constraint descriptor, the first machine can receive a series of user signals that define a relation between a document related attribute and a set of at least one value of the attribute. The first machine can use the series of user signals to compile a constraint that includes the relation. The series can, for example, include two or more user signals.
The first machine can be a portable computing device with a touchscreen or keyboard. Or it can be a fixed computing device with one or more of a touchscreen, keyboard, and mouse. The first machine can be a multifunction device with a scanner, and the user signals can be received by scanning an image bearing medium, such as a form with fields a user can mark to indicate values of an attribute.
The user interface circuitry can include display circuitry and selection circuitry to provide signals indicating, graphical objects in images presented by the display circuitry. The constraint descriptor can be stored in memory. An image can be presented that includes a graphical object representing the constraint descriptor. In response to a user signal indicating the graphical object, the stored constraint descriptor can be obtained.
The first machine can receive a user signal through user interface circuitry requesting that the constraint descriptor be sent to the second machine. In response, the first machine can encode the constraint descriptor in a data packet and transmit it to the second machine.
A second method implementing the new techniques can operate the second machine to receive from the first machine a data packet that includes an encoding of the constraint descriptor as described above. Then the second method can operate the second machine to decode the data packet to obtain the second descriptor. The second machine can be capable of using the constraint descriptor to access documents that satisfy the set of constraints.
In the second method, the second machine can be connected through a network for accessing a repository of electronic documents. The second method can include solving the set of one or more constraints to obtain a solution and then using the solution to obtain document references, each indicating an electronic document in the repository that satisfies the first constraint.
The second machine can include user interface circuitry with display circuitry and selection circuitry. The second method can present an image through that includes an item representing each document reference through the display circuitry. In response to a user signal through the selection circuitry indicating an item representing one of the document references, the second method can retrieve the indicated electronic document. The second method can present the electronic document through the display circuitry or operate printing circuitry to print it.
The new techniques can also be implemented in machines. In general, a first machine can transfer information about documents to other machines, while a second machine can receive information about documents from other machines.
The first machine can include a processor and communicating circuitry for providing communication between the processor and other machines. The processor can operate to obtain a constraint descriptor as described above and to transfer the constraint descriptor to one of the other machines through the communicating circuitry.
The first machine can be a portable computing device with user interface circuitry for providing user signals. The processor can obtain and transfer the constraint descriptor in response to a user signal.
Or the first machine can be a fixed computing device that transfers the constraint descriptor to a repository of electronic documents and receives document references. The first machine can also include image presentation circuitry for presenting an image that includes representations of the document references.
The second machine can similarly include a processor and communicating circuitry for providing communication between the processor and other machines. The processor can operate to receive a data packet from one of the other machines through the communicating circuitry. The data packet can include an encoding of a constraint descriptor as described above. The processor can further decode the data packet to obtain the constraint descriptor.
The second machine can be a portable computing device with user interface circuitry for providing user signals. The user interface circuitry can include display circuitry and selection circuitry as described above. The processor can store the constraint descriptor in memory and present an image that includes an item representing the stored constraint descriptor. In response to a user signal indicating the item, the processor can retrieve the stored constraint descriptor and solve the set of constraints to obtain a solution, which the processor can use to obtain document references.
Or the second machine can be a fixed computing device, again with user interface circuitry that includes display circuitry and selection circuitry. The processor can solve the set of constraints to obtain a solution, can use the solution to obtain document references, and can present an image that includes an item representing each document reference. In response to a user signal indicating an item representing a selected document reference, the processor can access the selected document reference.
The new techniques are advantageous because they permit transfer of information relating to a dynamic set of documents. For example, if a set of constraints includes only a constraint on author name, e.g. Smith, and a constraint on document date, e.g. after 1995, then the set of constraints will be satisfied by any document authored by an author named Smith in a year later than 1995. When, in 1998, an individual named Smith authors another document, the document satisfies the set of constraints, and automatic operations to identify and retrieve documents satisfying the constraints will obtain document references pointing to or linking to the document, without further user intervention.
Some of the new techniques are further advantageous because they permit transfer of document references between portable devices of different users who are in a meeting at a remote location or otherwise away from their office workstations. If a sender knows a set of constraints that an existing document satisfies or if a constraint descriptor for such a set is stored in the sender""s portable device, the sender""s portable device can transfer a constraint descriptor to the recipient""s portable device. For example, the sender might remember one or more of the author""s name, a date or range of dates of creation, a keyword, or other values for the document""s attributes, and thus be able to obtain a constraint descriptor. When the recipient subsequently returns to his or her office, the constraint descriptor can be transferred to the recipient""s office workstation. Then the recipient can use the constraint descriptor to retrieve the document, as well as other documents that satisfy the set of constraints. This scenario does not require that the document""s URL be stored on the sender""s portable device or that the sender recall how to identify the document sufficiently to provide the document""s URLxe2x80x94all it requires is a constraint descriptor that can be transferred between the portable devices.
The following description, the drawings, and the claims further set forth these and other aspects, objects, features, and advantages of the invention.